import Vue from 'vue'
import App from './App.vue'
import router from './router'
//  element-ui 组件引入
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
//  全局样式引入
import './styles/bleas.css'
//  字体图标样式引入
import './styles/icon.css'
// Vue.config.productionTip = false

// ************************ 设置基准地址 * *********************
import axios from 'axios'
axios.defaults.baseURL = 'http://127.0.0.1:8888/api/private/v1/'
Vue.prototype.$axios = axios

// **********************  请求 与  响应  拦截器设置 *********************************
// 请求拦截器
axios.interceptors.request.use(config => {
  // 拦截请求 , 给每个需要token请求的地方添加token
  let token = window.sessionStorage.getItem('token')
  if (token) {
    config.headers.Authorization = token
  }
  return config
})

// // 响应拦截器
// axios.interceptors.response.use(res => {
//   // console.log('响应被截胡了', res)
//   const { status } = res.data.meta
//   if (status !== 200) {
//     // 1. 提示
//     this.$message.error('token 失效！')

//     // 2. 删除本地token 和 user_id
//     window.sessionStorage.removeItem('token')

//     // 3. 跳转 login
//     // router.push('/login')
//     this.$router.push('login')
//   }
//   return res
// })

// ******************** 设置全局组件 ****************************
import Breadcrumb from './components/Breadcrumb.vue'
Vue.component('breadcrumb', Breadcrumb)

// *********************** tree 型模块的使用 ****************************
import TreeTable from 'vue-table-with-tree-grid'
Vue.component('treetable', TreeTable)

// -----------------------  设置全局的时间过滤器  ------------------
import moment from 'moment'
Vue.filter('date', (res, format = 'YYYY-MM-DD HH:mm:ss') => {
  return moment(res).format(format)
})

// ************************* 注册全局的富文本编译器 *****************************
import VUeQuillEditor from 'vue-quill-editor'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'
Vue.use(VUeQuillEditor)

// Vue实例V
new Vue({
  router,
  render: h => h(App)
}).$mount('#app')
